/*
 * Copyright (c) [2019] [Peking University]
 * [BDWare-DOIP] is licensed under the Mulan PSL v1.
 * You can use this software according to the terms and conditions of the Mulan PSL v1.
 * You may obtain a copy of Mulan PSL v1 at:
 *
 *   http://license.coscl.org.cn/MulanPSL
 *
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
 * PURPOSE.
 * See the Mulan PSL v1 for more details.
 */
package bdware.doip.server;

import bdware.netty.codec.doip.DOMessage;
import com.google.gson.Gson;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;

public class DoipServerHandler extends SimpleChannelInboundHandler<DOMessage> {
    @Override
    protected void channelRead0(ChannelHandlerContext ctx, DOMessage msg) throws Exception {
        System.out.println("[DoipServerHandler] receive:" + new Gson().toJson(msg));
        if (msg.flag == 3) {
            DOMessage replay = getCloseResponse();
            replay.setSender(msg.getSender());
            ctx.writeAndFlush(replay);
        }
    }

    private DOMessage getCloseResponse() {
        DOMessage closeMsg = new DOMessage();
        closeMsg.flag = -1;
        return closeMsg;
    }
}
